[INFO] cloning repository https://github.com/roobscoob/fileforge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/roobscoob/fileforge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froobscoob%2Ffileforge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froobscoob%2Ffileforge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cdb319f3cf325e3a59b1b3f90c827494eb748702
[INFO] fixing roobscoob/fileforge against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froobscoob%2Ffileforge" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/roobscoob/fileforge
[INFO] finished tweaking git repo https://github.com/roobscoob/fileforge
[INFO] tweaked toml for git repo https://github.com/roobscoob/fileforge written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/roobscoob/fileforge on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/roobscoob/fileforge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52
[INFO] running `Command { std: "docker" "start" "5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating fileforge/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating fileforge-macros/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating fileforge-cli/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating fileforge-test/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating fileforge-nintendo/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating fileforge-std/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling heapless v0.9.1
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking intx v0.1.0
[INFO] [stderr]     Checking inventory v0.3.21
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking phf_shared v0.12.1
[INFO] [stderr]    Compiling phf_generator v0.12.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking clap_builder v4.5.51
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking fileforge-macros v0.1.0 (/opt/rustwide/workdir/fileforge-macros)
[INFO] [stderr]    Migrating fileforge-macros/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed fileforge-macros/src/text.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> fileforge-macros/src/text.rs:80:27
[INFO] [stdout]     |
[INFO] [stdout]  74 |   let mut current_tag: Option<Tag> = None;
[INFO] [stdout]     |       ---------------
[INFO] [stdout]     |       |
[INFO] [stdout]     |       `current_tag` calls a custom destructor
[INFO] [stdout]     |       `current_tag` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |   while let Some(token) = iter.next() {
[INFO] [stdout]     |                  -----    ^^^^^^^^^^^
[INFO] [stdout]     |                  |        |
[INFO] [stdout]     |                  |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                  |        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  `token` calls a custom destructor
[INFO] [stdout]     |                  `token` will be dropped later as of Edition 2024
[INFO] [stdout]  81 |     // Try to parse a [tag] group. If it works, update current_tag and continue.
[INFO] [stdout]  82 |     if let Ok(new_tag) = parse_tag.parse2(token.to_token_stream()) {
[INFO] [stdout]     |                          -----------------------------------------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |         let next = iter.peek().map(ToTokens::into_token_stream).unwrap_or_else(TokenStream::new);
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `next` calls a custom destructor
[INFO] [stdout]     |             `next` will be dropped later as of Edition 2024
[INFO] [stdout]  97 |
[INFO] [stdout]  98 |         let res = Group::parse.parse2(next.clone()).is_ok();
[INFO] [stdout]     |                   ---------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |           let new_condition = match parse_condition.parse2(next).ok() { Some(condition) => {
[INFO] [stdout]     |                                     ---------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |             // consume the condition group
[INFO] [stdout] 109 |             let _ = iter.next();
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `current_tag` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> fileforge-macros/src/text.rs:80:27
[INFO] [stdout]     |
[INFO] [stdout]  74 |   let mut current_tag: Option<Tag> = None;
[INFO] [stdout]     |       ---------------
[INFO] [stdout]     |       |
[INFO] [stdout]     |       `current_tag` calls a custom destructor
[INFO] [stdout]     |       `current_tag` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |   while let Some(token) = iter.next() {
[INFO] [stdout]     |                  -----    ^^^^^^^^^^^
[INFO] [stdout]     |                  |        |
[INFO] [stdout]     |                  |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                  |        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  `token` calls a custom destructor
[INFO] [stdout]     |                  `token` will be dropped later as of Edition 2024
[INFO] [stdout]  81 |     // Try to parse a [tag] group. If it works, update current_tag and continue.
[INFO] [stdout]  82 |     if let Ok(new_tag) = parse_tag.parse2(token.to_token_stream()) {
[INFO] [stdout]     |                          -----------------------------------------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |         let next = iter.peek().map(ToTokens::into_token_stream).unwrap_or_else(TokenStream::new);
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `next` calls a custom destructor
[INFO] [stdout]     |             `next` will be dropped later as of Edition 2024
[INFO] [stdout]  97 |
[INFO] [stdout]  98 |         let res = Group::parse.parse2(next.clone()).is_ok();
[INFO] [stdout]     |                   ---------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |           let new_condition = match parse_condition.parse2(next).ok() { Some(condition) => {
[INFO] [stdout]     |                                     ---------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |             // consume the condition group
[INFO] [stdout] 109 |             let _ = iter.next();
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `current_tag` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bitfield-struct v0.12.1
[INFO] [stderr]    Compiling phf_macros v0.12.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking phf v0.12.1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> fileforge-macros/src/text.rs:80:27
[INFO] [stdout]     |
[INFO] [stdout]  74 |   let mut current_tag: Option<Tag> = None;
[INFO] [stdout]     |       ---------------
[INFO] [stdout]     |       |
[INFO] [stdout]     |       `current_tag` calls a custom destructor
[INFO] [stdout]     |       `current_tag` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |   while let Some(token) = iter.next() {
[INFO] [stdout]     |                  -----    ^^^^^^^^^^^
[INFO] [stdout]     |                  |        |
[INFO] [stdout]     |                  |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                  |        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  `token` calls a custom destructor
[INFO] [stdout]     |                  `token` will be dropped later as of Edition 2024
[INFO] [stdout]  81 |     // Try to parse a [tag] group. If it works, update current_tag and continue.
[INFO] [stdout]  82 |     if let Ok(new_tag) = parse_tag.parse2(token.to_token_stream()) {
[INFO] [stdout]     |                          -----------------------------------------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |         let next = iter.peek().map(ToTokens::into_token_stream).unwrap_or_else(TokenStream::new);
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `next` calls a custom destructor
[INFO] [stdout]     |             `next` will be dropped later as of Edition 2024
[INFO] [stdout]  97 |
[INFO] [stdout]  98 |         let res = Group::parse.parse2(next.clone()).is_ok();
[INFO] [stdout]     |                   ---------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |           let new_condition = match parse_condition.parse2(next).ok() { Some(condition) => {
[INFO] [stdout]     |                                     ---------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 108 |             // consume the condition group
[INFO] [stdout] 109 |             let _ = iter.next();
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `current_tag` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileforge v0.1.5 (/opt/rustwide/workdir/fileforge)
[INFO] [stderr]    Migrating fileforge/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking yaz0 v0.3.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking clap v4.5.51
[INFO] [stderr]     Checking fileforge-cli v0.1.0 (/opt/rustwide/workdir/fileforge-cli)
[INFO] [stderr]        Fixed fileforge/src/diagnostic/node/reference.rs (2 fixes)
[INFO] [stderr]        Fixed fileforge/src/error/render/position.rs (1 fix)
[INFO] [stderr]        Fixed fileforge/src/diagnostic/pool/dynamic/mod.rs (3 fixes)
[INFO] [stderr]        Fixed fileforge/src/binary_reader/primitive/numeric.rs (1 fix)
[INFO] [stderr]    Migrating fileforge-cli/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let actual = self.reader.read_with::<[T; SIZE]>(arguments).await.map_err(stream::StreamReadError::User)?;
[INFO] [stdout]    |         ------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `actual` calls a custom destructor
[INFO] [stdout]    |         `actual` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 91 |     Ok(reader(&actual).await)
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 92 |   }
[INFO] [stdout]    |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> fileforge/src/stream/builtin/read_until.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |       match self.stream.read::<1, _>(async |data| data[0] == self.needle).await {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |             |                                                             |
[INFO] [stdout]     |             |                                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             |                                                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |             |                                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |                                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge/src/diagnostic/node/reference.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut own = self.dereference(provider)?;
[INFO] [stdout]    |         -------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `own` calls a custom destructor
[INFO] [stdout]    |         `own` will be dropped later as of Edition 2024
[INFO] [stdout] 76 |
[INFO] [stdout] 77 |     while let Some(parent) = own.branch().parent().iter().flat_map(|p| p.relocate(self.pool).dereference(provider)).next() {
[INFO] [stdout]    |                              --------------------------------------------------------------------------------------^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 78 |       own = parent
[INFO] [stdout] 79 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> fileforge/src/error/render/builtin/diagnostic_info/mod.rs:197:21
[INFO] [stdout]      |
[INFO] [stdout]  145 |           let parent = reference
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  146 | |           .relocate(builder)
[INFO] [stdout]  147 | |           .dereference(pool)
[INFO] [stdout]  148 | |           .expect("Expected valid reference when building a report")
[INFO] [stdout]      | |                                                                    -
[INFO] [stdout]      | |                                                                    |
[INFO] [stdout]      | |____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  174 |           let parent = parent_reference.dereference(pool).expect("Expected valid parent reference when building a report");
[INFO] [stdout]      |               ------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `parent` calls a custom destructor
[INFO] [stdout]      |               `parent` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  184 |           let mut new = DiagnosticInfo {
[INFO] [stdout]      |               -------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]      |               `#19` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]      |               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 |                 match parent2.relocate(builder).dereference(pool).expect("Expected valid reference when building a report").size() {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]      |                       up until Edition 2021 `#20` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  201 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  217 |           for parent_of in parent_reference.parents(pool) {
[INFO] [stdout]      |               ---------    ------------------------------
[INFO] [stdout]      |               |            |
[INFO] [stdout]      |               |            `iter` calls a custom destructor
[INFO] [stdout]      |               |            `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |               |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |               `parent_of` calls a custom destructor
[INFO] [stdout]      |               `parent_of` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  220 |             'counting: for (child_index, child) in notes
[INFO] [stdout]      |  ________________________________________-----_____-
[INFO] [stdout]      |  ________________________________________|_________|
[INFO] [stdout]      |  ________________________________________|_________|
[INFO] [stdout]      |  ________________________________________|_________|
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        `child` calls a custom destructor
[INFO] [stdout]      | |                                        `child` will be dropped later as of Edition 2024
[INFO] [stdout]  221 | |             .notes
[INFO] [stdout]  222 | |             .iter()
[INFO] [stdout]  223 | |             .flat_map(|v| v.locations())
[INFO] [stdout] ...    |
[INFO] [stdout]  230 | |             })
[INFO] [stdout]  231 | |             .enumerate()
[INFO] [stdout]      | |                        -
[INFO] [stdout]      | |________________________|
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |________________________`#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  232 |             {
[INFO] [stdout]  233 |               'checking_dupes: for (other_child_index, other_child) in notes
[INFO] [stdout]      |  ______________________________________________________-----------_____-
[INFO] [stdout]      |  ______________________________________________________|_______________|
[INFO] [stdout]      |  ______________________________________________________|_______________|
[INFO] [stdout]      |  ______________________________________________________|_______________|
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |                                                      `other_child` calls a custom destructor
[INFO] [stdout]      | |                                                      `other_child` will be dropped later as of Edition 2024
[INFO] [stdout]  234 | |               .notes
[INFO] [stdout]  235 | |               .iter()
[INFO] [stdout]  236 | |               .flat_map(|v| v.locations())
[INFO] [stdout] ...    |
[INFO] [stdout]  243 | |               })
[INFO] [stdout]  244 | |               .enumerate()
[INFO] [stdout]      | |                          -
[INFO] [stdout]      | |__________________________|
[INFO] [stdout]      | |__________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |__________________________`#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |__________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                            `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  263 |           'itera: for (child_index, child) in notes
[INFO] [stdout]      |  ___________________________________-----_____-
[INFO] [stdout]      |  ___________________________________|_________|
[INFO] [stdout]      |  ___________________________________|_________|
[INFO] [stdout]      |  ___________________________________|_________|
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]  264 | |           .notes
[INFO] [stdout]  265 | |           .iter()
[INFO] [stdout]  266 | |           .flat_map(|v| v.locations())
[INFO] [stdout]  267 | |           .flat_map(|l| l.reference.relocate(builder).parents_incl_self(pool))
[INFO] [stdout]  268 | |           .filter(|l| l.branch().parent().map(|p| p.relocate(builder).eq(&parent_reference)).unwrap_or(false))
[INFO] [stdout]  269 | |           .enumerate()
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |______________________`#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                        `#8` will be dropped later as of Edition 2024
[INFO] [stdout]  270 |           {
[INFO] [stdout]  271 |             'checking_dupes: for (other_child_index, other_child) in notes
[INFO] [stdout]      |  ____________________________________________________-----------_____-
[INFO] [stdout]      |  ____________________________________________________|_______________|
[INFO] [stdout]      |  ____________________________________________________|_______________|
[INFO] [stdout]      |  ____________________________________________________|_______________|
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout]  272 | |             .notes
[INFO] [stdout]  273 | |             .iter()
[INFO] [stdout]  274 | |             .flat_map(|v| v.locations())
[INFO] [stdout]  275 | |             .flat_map(|l| l.reference.relocate(builder).parents_incl_self(pool))
[INFO] [stdout]  276 | |             .filter(|l| l.branch().parent().map(|p| p.relocate(builder).eq(&parent_reference)).unwrap_or(false))
[INFO] [stdout]  277 | |             .enumerate()
[INFO] [stdout]      | |                        -
[INFO] [stdout]      | |________________________|
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |________________________`#10` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                          `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 | |                 if v.0.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").eq(&child) {
[INFO] [stdout]      | |                    --------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                    |
[INFO] [stdout]      | |                    this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                    `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  309 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  317 | |               new.tail = match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").br...
[INFO] [stdout]      | |                                --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  329 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                     `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  343 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  353 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      | |                     `#18` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.9.1/src/vec/mod.rs:1314:1
[INFO] [stdout]      |
[INFO] [stdout] 1314 | impl<T, LenT: LenType, S: VecStorage<T> + ?Sized> Drop for VecInner<T, LenT, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.9.1/src/vec/mod.rs:1314:1
[INFO] [stdout]      |
[INFO] [stdout] 1314 | impl<T, LenT: LenType, S: VecStorage<T> + ?Sized> Drop for VecInner<T, LenT, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileforge-std v0.1.2 (/opt/rustwide/workdir/fileforge-std)
[INFO] [stderr]    Migrating fileforge-std/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking fileforge-nintendo v0.1.3 (/opt/rustwide/workdir/fileforge-nintendo)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let actual = self.reader.read_with::<[T; SIZE]>(arguments).await.map_err(stream::StreamReadError::User)?;
[INFO] [stdout]    |         ------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `actual` calls a custom destructor
[INFO] [stdout]    |         `actual` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 91 |     Ok(reader(&actual).await)
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 92 |   }
[INFO] [stdout]    |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating fileforge-nintendo/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> fileforge/src/stream/builtin/read_until.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |       match self.stream.read::<1, _>(async |data| data[0] == self.needle).await {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |             |                                                             |
[INFO] [stdout]     |             |                                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             |                                                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |             |                                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |                                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge/src/diagnostic/node/reference.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut own = self.dereference(provider)?;
[INFO] [stdout]    |         -------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `own` calls a custom destructor
[INFO] [stdout]    |         `own` will be dropped later as of Edition 2024
[INFO] [stdout] 76 |
[INFO] [stdout] 77 |     while let Some(parent) = own.branch().parent().iter().flat_map(|p| p.relocate(self.pool).dereference(provider)).next() {
[INFO] [stdout]    |                              --------------------------------------------------------------------------------------^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 78 |       own = parent
[INFO] [stdout] 79 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> fileforge/src/error/render/builtin/diagnostic_info/mod.rs:197:21
[INFO] [stdout]      |
[INFO] [stdout]  145 |           let parent = reference
[INFO] [stdout]      |  ______________________-
[INFO] [stdout]  146 | |           .relocate(builder)
[INFO] [stdout]  147 | |           .dereference(pool)
[INFO] [stdout]  148 | |           .expect("Expected valid reference when building a report")
[INFO] [stdout]      | |                                                                    -
[INFO] [stdout]      | |                                                                    |
[INFO] [stdout]      | |____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  174 |           let parent = parent_reference.dereference(pool).expect("Expected valid parent reference when building a report");
[INFO] [stdout]      |               ------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `parent` calls a custom destructor
[INFO] [stdout]      |               `parent` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  184 |           let mut new = DiagnosticInfo {
[INFO] [stdout]      |               -------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]      |               `#19` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]      |               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  197 |                 match parent2.relocate(builder).dereference(pool).expect("Expected valid reference when building a report").size() {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]      |                       up until Edition 2021 `#20` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  201 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  217 |           for parent_of in parent_reference.parents(pool) {
[INFO] [stdout]      |               ---------    ------------------------------
[INFO] [stdout]      |               |            |
[INFO] [stdout]      |               |            `iter` calls a custom destructor
[INFO] [stdout]      |               |            `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |               |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |               `parent_of` calls a custom destructor
[INFO] [stdout]      |               `parent_of` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  220 |             'counting: for (child_index, child) in notes
[INFO] [stdout]      |  ________________________________________-----_____-
[INFO] [stdout]      |  ________________________________________|_________|
[INFO] [stdout]      |  ________________________________________|_________|
[INFO] [stdout]      |  ________________________________________|_________|
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        `child` calls a custom destructor
[INFO] [stdout]      | |                                        `child` will be dropped later as of Edition 2024
[INFO] [stdout]  221 | |             .notes
[INFO] [stdout]  222 | |             .iter()
[INFO] [stdout]  223 | |             .flat_map(|v| v.locations())
[INFO] [stdout] ...    |
[INFO] [stdout]  230 | |             })
[INFO] [stdout]  231 | |             .enumerate()
[INFO] [stdout]      | |                        -
[INFO] [stdout]      | |________________________|
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |________________________`#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  232 |             {
[INFO] [stdout]  233 |               'checking_dupes: for (other_child_index, other_child) in notes
[INFO] [stdout]      |  ______________________________________________________-----------_____-
[INFO] [stdout]      |  ______________________________________________________|_______________|
[INFO] [stdout]      |  ______________________________________________________|_______________|
[INFO] [stdout]      |  ______________________________________________________|_______________|
[INFO] [stdout]      | |                                                      |
[INFO] [stdout]      | |                                                      `other_child` calls a custom destructor
[INFO] [stdout]      | |                                                      `other_child` will be dropped later as of Edition 2024
[INFO] [stdout]  234 | |               .notes
[INFO] [stdout]  235 | |               .iter()
[INFO] [stdout]  236 | |               .flat_map(|v| v.locations())
[INFO] [stdout] ...    |
[INFO] [stdout]  243 | |               })
[INFO] [stdout]  244 | |               .enumerate()
[INFO] [stdout]      | |                          -
[INFO] [stdout]      | |__________________________|
[INFO] [stdout]      | |__________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |__________________________`#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |__________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                            `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  263 |           'itera: for (child_index, child) in notes
[INFO] [stdout]      |  ___________________________________-----_____-
[INFO] [stdout]      |  ___________________________________|_________|
[INFO] [stdout]      |  ___________________________________|_________|
[INFO] [stdout]      |  ___________________________________|_________|
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]  264 | |           .notes
[INFO] [stdout]  265 | |           .iter()
[INFO] [stdout]  266 | |           .flat_map(|v| v.locations())
[INFO] [stdout]  267 | |           .flat_map(|l| l.reference.relocate(builder).parents_incl_self(pool))
[INFO] [stdout]  268 | |           .filter(|l| l.branch().parent().map(|p| p.relocate(builder).eq(&parent_reference)).unwrap_or(false))
[INFO] [stdout]  269 | |           .enumerate()
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |______________________|
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |______________________`#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                        `#8` will be dropped later as of Edition 2024
[INFO] [stdout]  270 |           {
[INFO] [stdout]  271 |             'checking_dupes: for (other_child_index, other_child) in notes
[INFO] [stdout]      |  ____________________________________________________-----------_____-
[INFO] [stdout]      |  ____________________________________________________|_______________|
[INFO] [stdout]      |  ____________________________________________________|_______________|
[INFO] [stdout]      |  ____________________________________________________|_______________|
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout]  272 | |             .notes
[INFO] [stdout]  273 | |             .iter()
[INFO] [stdout]  274 | |             .flat_map(|v| v.locations())
[INFO] [stdout]  275 | |             .flat_map(|l| l.reference.relocate(builder).parents_incl_self(pool))
[INFO] [stdout]  276 | |             .filter(|l| l.branch().parent().map(|p| p.relocate(builder).eq(&parent_reference)).unwrap_or(false))
[INFO] [stdout]  277 | |             .enumerate()
[INFO] [stdout]      | |                        -
[INFO] [stdout]      | |________________________|
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |________________________`#10` will be dropped later as of Edition 2024
[INFO] [stdout]      | |________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                          `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 | |                 if v.0.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").eq(&child) {
[INFO] [stdout]      | |                    --------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                    |
[INFO] [stdout]      | |                    this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                    `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  309 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  317 | |               new.tail = match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").br...
[INFO] [stdout]      | |                                --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  329 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                     `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  343 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  353 | |               match reference.relocate(builder).dereference(pool).expect("Expected valid parent reference when building a report").branch() {
[INFO] [stdout]      | |                     --------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      | |                     |
[INFO] [stdout]      | |                     this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      | |                     `#18` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.9.1/src/vec/mod.rs:1314:1
[INFO] [stdout]      |
[INFO] [stdout] 1314 | impl<T, LenT: LenType, S: VecStorage<T> + ?Sized> Drop for VecInner<T, LenT, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.9.1/src/vec/mod.rs:1314:1
[INFO] [stdout]      |
[INFO] [stdout] 1314 | impl<T, LenT: LenType, S: VecStorage<T> + ?Sized> Drop for VecInner<T, LenT, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed fileforge-nintendo/src/sead/sarc/header/readable.rs (1 fix)
[INFO] [stderr]        Fixed fileforge-nintendo/src/sead/yaz0/mod.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:161:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut reader = get_reader(value as u64).await.map_err(BymlConstructionError::ReaderAcquire)?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `reader` calls a custom destructor
[INFO] [stdout]     |         `reader` will be dropped later as of Edition 2024
[INFO] [stdout] 160 |
[INFO] [stdout] 161 |     Ok(match reader.read_with(version).await.map_err(BymlConstructionError::ReadType)? {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 181 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/mod.rs:69:36
[INFO] [stdout]    |
[INFO] [stdout] 60 | ... let mut header = BlockHeader::from_byte(self.underlying.read(SINGLE).await.map_err(|e| Yaz0ParserError::ReadFailed(Component::Header, e))?);
[INFO] [stdout]    |                                             --------------------------------------------------------------------------------------------------
[INFO] [stdout]    |                                             |                            |
[INFO] [stdout]    |                                             |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                                             |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 69 | ...     Operation::Literal(match self.underlying.read(SINGLE).await {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                                  |                            |
[INFO] [stdout]    |                                  |                            this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]    |                                  |                            up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                  |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                  |                            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]    |                                  up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 74 | ...   } else {
[INFO] [stdout]    |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 75 | ...     let (b1, b2): (u8, u8) = match self.underlying.read(DOUBLE).await {
[INFO] [stdout]    |                                        ----------------------------------
[INFO] [stdout]    |                                        |                            |
[INFO] [stdout]    |                                        |                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    |                                        |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 85 | ...         let v: u8 = self.underlying.read(SINGLE).await.map_err(|e| Yaz0ParserError::ReadFailed(Component::LargeSequenceTail, e))?;
[INFO] [stdout]    |                         -------------------------------------------------------------------------------------------------------------
[INFO] [stdout]    |                         |                            |
[INFO] [stdout]    |                         |                            this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]    |                         |                            `#10` will be dropped later as of Edition 2024
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]    |                         `#9` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> fileforge-nintendo/src/sead/yaz0/parser/mod.rs:106:58
[INFO] [stdout]      |
[INFO] [stdout]   57 |     let mut collection = heapless::Vec::<Block, SIZE>::new();
[INFO] [stdout]      |         --------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `collection` calls a custom destructor
[INFO] [stdout]      |         `collection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  106 |     Ok(reader(collection.first_chunk::<SIZE>().unwrap()).await)
[INFO] [stdout]      |                                                          ^^^^^
[INFO] [stdout]      |                                                          |
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  107 |   }
[INFO] [stdout]      |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `collection` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.9.1/src/vec/mod.rs:1314:1
[INFO] [stdout]      |
[INFO] [stdout] 1314 | impl<T, LenT: LenType, S: VecStorage<T> + ?Sized> Drop for VecInner<T, LenT, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:79:48
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let (l, r) = reader.partition(Some("Yaz0 Header")).await.map_err(|e| HeaderViewError::Subfork(e))?;
[INFO] [stdout]    |             -
[INFO] [stdout]    |             |
[INFO] [stdout]    |             `r` calls a custom destructor
[INFO] [stdout]    |             `r` will be dropped later as of Edition 2024
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |     Ok((l.into::<View<'pool, _, Yaz0Header>>().await.map_err(|e| HeaderViewError::Into(e))?, r.into_stream()))
[INFO] [stdout]    |                                                ^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 80 |   }
[INFO] [stdout]    |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileforge-test v0.1.0 (/opt/rustwide/workdir/fileforge-test)
[INFO] [stderr]    Migrating fileforge-test/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:161:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut reader = get_reader(value as u64).await.map_err(BymlConstructionError::ReaderAcquire)?;
[INFO] [stdout]     |         ----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `reader` calls a custom destructor
[INFO] [stdout]     |         `reader` will be dropped later as of Edition 2024
[INFO] [stdout] 160 |
[INFO] [stdout] 161 |     Ok(match reader.read_with(version).await.map_err(BymlConstructionError::ReadType)? {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 181 |   }
[INFO] [stdout]     |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/mod.rs:69:36
[INFO] [stdout]    |
[INFO] [stdout] 60 | ... let mut header = BlockHeader::from_byte(self.underlying.read(SINGLE).await.map_err(|e| Yaz0ParserError::ReadFailed(Component::Header, e))?);
[INFO] [stdout]    |                                             --------------------------------------------------------------------------------------------------
[INFO] [stdout]    |                                             |                            |
[INFO] [stdout]    |                                             |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                                             |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                             `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 69 | ...     Operation::Literal(match self.underlying.read(SINGLE).await {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                                  |                            |
[INFO] [stdout]    |                                  |                            this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]    |                                  |                            up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                  |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                  |                            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]    |                                  up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 74 | ...   } else {
[INFO] [stdout]    |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 75 | ...     let (b1, b2): (u8, u8) = match self.underlying.read(DOUBLE).await {
[INFO] [stdout]    |                                        ----------------------------------
[INFO] [stdout]    |                                        |                            |
[INFO] [stdout]    |                                        |                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    |                                        |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 85 | ...         let v: u8 = self.underlying.read(SINGLE).await.map_err(|e| Yaz0ParserError::ReadFailed(Component::LargeSequenceTail, e))?;
[INFO] [stdout]    |                         -------------------------------------------------------------------------------------------------------------
[INFO] [stdout]    |                         |                            |
[INFO] [stdout]    |                         |                            this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]    |                         |                            `#10` will be dropped later as of Edition 2024
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]    |                         `#9` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> fileforge-nintendo/src/sead/yaz0/parser/mod.rs:106:58
[INFO] [stdout]      |
[INFO] [stdout]   57 |     let mut collection = heapless::Vec::<Block, SIZE>::new();
[INFO] [stdout]      |         --------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `collection` calls a custom destructor
[INFO] [stdout]      |         `collection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  106 |     Ok(reader(collection.first_chunk::<SIZE>().unwrap()).await)
[INFO] [stdout]      |                                                          ^^^^^
[INFO] [stdout]      |                                                          |
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  107 |   }
[INFO] [stdout]      |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `collection` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/heapless-0.9.1/src/vec/mod.rs:1314:1
[INFO] [stdout]      |
[INFO] [stdout] 1314 | impl<T, LenT: LenType, S: VecStorage<T> + ?Sized> Drop for VecInner<T, LenT, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:79:48
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let (l, r) = reader.partition(Some("Yaz0 Header")).await.map_err(|e| HeaderViewError::Subfork(e))?;
[INFO] [stdout]    |             -
[INFO] [stdout]    |             |
[INFO] [stdout]    |             `r` calls a custom destructor
[INFO] [stdout]    |             `r` will be dropped later as of Edition 2024
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |     Ok((l.into::<View<'pool, _, Yaz0Header>>().await.map_err(|e| HeaderViewError::Into(e))?, r.into_stream()))
[INFO] [stdout]    |                                                ^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 80 |   }
[INFO] [stdout]    |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.01s
[INFO] [stderr] crater-edition-check: fileforge v0.1.5 (/opt/rustwide/workdir/fileforge) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fileforge-macros v0.1.0 (/opt/rustwide/workdir/fileforge-macros) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fileforge-cli v0.1.0 (/opt/rustwide/workdir/fileforge-cli) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fileforge-test v0.1.0 (/opt/rustwide/workdir/fileforge-test) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fileforge-nintendo v0.1.3 (/opt/rustwide/workdir/fileforge-nintendo) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fileforge-std v0.1.2 (/opt/rustwide/workdir/fileforge-std) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling fileforge-macros v0.1.0 (/opt/rustwide/workdir/fileforge-macros)
[INFO] [stderr]     Checking fileforge-cli v0.1.0 (/opt/rustwide/workdir/fileforge-cli)
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]  --> fileforge-cli/src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |   if let Some(matches) = matches.subcommand_matches("npdm") {
[INFO] [stdout]   |               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `matches`
[INFO] [stdout]  --> fileforge-cli/src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |   if let Some(matches) = matches.subcommand_matches("npdm") {
[INFO] [stdout]   |               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileforge v0.1.5 (/opt/rustwide/workdir/fileforge)
[INFO] [stdout] warning: unused import: `NoneArgument`
[INFO] [stdout]  --> fileforge/src/binary_reader/readable/builtins/array.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 |   binary_reader::readable::{NoneArgument, Readable},
[INFO] [stdout]   |                             ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collectable::Collectable`
[INFO] [stdout]  --> fileforge/src/stream/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use collectable::Collectable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NoneArgument`
[INFO] [stdout]  --> fileforge/src/binary_reader/readable/builtins/array.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 |   binary_reader::readable::{NoneArgument, Readable},
[INFO] [stdout]   |                             ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collectable::Collectable`
[INFO] [stdout]  --> fileforge/src/stream/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use collectable::Collectable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/array.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/array.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     callback: impl for<'tag, 'b> FnOnce(crate::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     callback: impl for<'tag, 'b> FnOnce(crate::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> fileforge/src/diagnostic/pool/dynamic/mod.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |   fn was_built_by(&self, other: &dyn DiagnosticPoolBuilder) -> bool {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> fileforge/src/diagnostic/pool/fixed/mod.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |   fn was_built_by(&self, other: &dyn DiagnosticPoolBuilder) -> bool {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/array.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/array.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     callback: impl for<'tag, 'b> FnOnce(crate::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge/src/binary_reader/readable/builtins/contiugous/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     callback: impl for<'tag, 'b> FnOnce(crate::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> fileforge/src/diagnostic/pool/dynamic/mod.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |   fn was_built_by(&self, other: &dyn DiagnosticPoolBuilder) -> bool {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> fileforge/src/diagnostic/pool/fixed/mod.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |   fn was_built_by(&self, other: &dyn DiagnosticPoolBuilder) -> bool {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index` and `error` are never read
[INFO] [stdout]  --> fileforge/src/binary_reader/readable/builtins/array.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ArrayReadError<E: FileforgeError> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 8 |   index: usize,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 9 |   error: E,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `filter` are never read
[INFO] [stdout]  --> fileforge/src/stream/extensions/readable/filtered/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FilteredStream<S: ReadableStream, Filter: for<'a> AsyncFn(&'a S::Type) -> bool> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 4 |   pub(super) stream: S,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 5 |   pub(super) filter: Filter,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `mapper` are never read
[INFO] [stdout]  --> fileforge/src/stream/extensions/readable/mapped/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MappedStream<S: ReadableStream, R, Mapper: AsyncFn(S::Type) -> R> {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 4 |   pub(super) stream: S,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 5 |   pub(super) mapper: Mapper,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileforge-std v0.1.2 (/opt/rustwide/workdir/fileforge-std)
[INFO] [stderr]     Checking fileforge-nintendo v0.1.3 (/opt/rustwide/workdir/fileforge-nintendo)
[INFO] [stdout] warning: fields `index` and `error` are never read
[INFO] [stdout]  --> fileforge/src/binary_reader/readable/builtins/array.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ArrayReadError<E: FileforgeError> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 8 |   index: usize,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 9 |   error: E,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `filter` are never read
[INFO] [stdout]  --> fileforge/src/stream/extensions/readable/filtered/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FilteredStream<S: ReadableStream, Filter: for<'a> AsyncFn(&'a S::Type) -> bool> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 4 |   pub(super) stream: S,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 5 |   pub(super) filter: Filter,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stream` and `mapper` are never read
[INFO] [stdout]  --> fileforge/src/stream/extensions/readable/mapped/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MappedStream<S: ReadableStream, R, Mapper: AsyncFn(S::Type) -> R> {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 4 |   pub(super) stream: S,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 5 |   pub(super) mapper: Mapper,
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/byml/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::convert::Infallible;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops::Sub`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/header/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sfat::SfatTable`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:19:45
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::sead::sarc::{header::SarcHeader, sfat::SfatTable};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::convert::Infallible;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinaryReader`, `readable::IntoReadable`, and `stream::ReadableStream`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 |   binary_reader::{readable::IntoReadable, BinaryReader},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 5 |   stream::ReadableStream,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sarc` and `header::SarcHeader`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::sead::sarc::{header::SarcHeader, Sarc};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/yaz0/readable.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{convert::Infallible, future::Future};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:142:44
[INFO] [stdout]     |
[INFO] [stdout] 142 |       BymlNodeDiscriminants::BinaryData => BymlNode::BinaryData(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:143:57
[INFO] [stdout]     |
[INFO] [stdout] 143 |       BymlNodeDiscriminants::BinaryDataWithParameter => BymlNode::BinaryDataWithParameter(todo!()),
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:144:39
[INFO] [stdout]     |
[INFO] [stdout] 144 |       BymlNodeDiscriminants::Array => BymlNode::Array(todo!()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:145:44
[INFO] [stdout]     |
[INFO] [stdout] 145 |       BymlNodeDiscriminants::Dictionary => BymlNode::Dictionary(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:151:49
[INFO] [stdout]     |
[INFO] [stdout] 151 |       BymlNodeDiscriminants::BinaryDataTable => BymlNode::BinaryDataTable(todo!()),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 152 |       BymlNodeDiscriminants::Integer64 => BymlNode::Integer64(todo!()),
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:153:51
[INFO] [stdout]     |
[INFO] [stdout] 153 |       BymlNodeDiscriminants::UnsignedInteger64 => BymlNode::UnsignedInteger64(todo!()),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:154:41
[INFO] [stdout]     |
[INFO] [stdout] 154 |       BymlNodeDiscriminants::Float64 => BymlNode::Float64(todo!()),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:171:44
[INFO] [stdout]     |
[INFO] [stdout] 171 |       BymlNodeDiscriminants::BinaryData => BymlNode::BinaryData(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:172:57
[INFO] [stdout]     |
[INFO] [stdout] 172 |       BymlNodeDiscriminants::BinaryDataWithParameter => BymlNode::BinaryDataWithParameter(todo!()),
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:173:39
[INFO] [stdout]     |
[INFO] [stdout] 173 |       BymlNodeDiscriminants::Array => BymlNode::Array(todo!()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:174:44
[INFO] [stdout]     |
[INFO] [stdout] 174 |       BymlNodeDiscriminants::Dictionary => BymlNode::Dictionary(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/byml/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::convert::Infallible;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ops::Sub`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/header/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sfat::SfatTable`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:19:45
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::sead::sarc::{header::SarcHeader, sfat::SfatTable};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::convert::Infallible;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinaryReader`, `readable::IntoReadable`, and `stream::ReadableStream`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 |   binary_reader::{readable::IntoReadable, BinaryReader},
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 5 |   stream::ReadableStream,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sarc` and `header::SarcHeader`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/sarc/readable.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::sead::sarc::{header::SarcHeader, Sarc};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/yaz0/parser/tests/mod.rs:7:3
[INFO] [stdout]   |
[INFO] [stdout] 7 |   self,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:176:49
[INFO] [stdout]     |
[INFO] [stdout] 176 |       BymlNodeDiscriminants::BinaryDataTable => BymlNode::BinaryDataTable(todo!()),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |       BymlNodeDiscriminants::Integer64 => BymlNode::Integer64(todo!()),
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:178:51
[INFO] [stdout]     |
[INFO] [stdout] 178 |       BymlNodeDiscriminants::UnsignedInteger64 => BymlNode::UnsignedInteger64(todo!()),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:179:41
[INFO] [stdout]     |
[INFO] [stdout] 179 |       BymlNodeDiscriminants::Float64 => BymlNode::Float64(todo!()),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::Infallible`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/yaz0/readable.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{convert::Infallible, future::Future};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:142:44
[INFO] [stdout]     |
[INFO] [stdout] 142 |       BymlNodeDiscriminants::BinaryData => BymlNode::BinaryData(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:143:57
[INFO] [stdout]     |
[INFO] [stdout] 143 |       BymlNodeDiscriminants::BinaryDataWithParameter => BymlNode::BinaryDataWithParameter(todo!()),
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:144:39
[INFO] [stdout]     |
[INFO] [stdout] 144 |       BymlNodeDiscriminants::Array => BymlNode::Array(todo!()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:145:44
[INFO] [stdout]     |
[INFO] [stdout] 145 |       BymlNodeDiscriminants::Dictionary => BymlNode::Dictionary(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:151:49
[INFO] [stdout]     |
[INFO] [stdout] 151 |       BymlNodeDiscriminants::BinaryDataTable => BymlNode::BinaryDataTable(todo!()),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 152 |       BymlNodeDiscriminants::Integer64 => BymlNode::Integer64(todo!()),
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:153:51
[INFO] [stdout]     |
[INFO] [stdout] 153 |       BymlNodeDiscriminants::UnsignedInteger64 => BymlNode::UnsignedInteger64(todo!()),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:154:41
[INFO] [stdout]     |
[INFO] [stdout] 154 |       BymlNodeDiscriminants::Float64 => BymlNode::Float64(todo!()),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:171:44
[INFO] [stdout]     |
[INFO] [stdout] 171 |       BymlNodeDiscriminants::BinaryData => BymlNode::BinaryData(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:172:57
[INFO] [stdout]     |
[INFO] [stdout] 172 |       BymlNodeDiscriminants::BinaryDataWithParameter => BymlNode::BinaryDataWithParameter(todo!()),
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:173:39
[INFO] [stdout]     |
[INFO] [stdout] 173 |       BymlNodeDiscriminants::Array => BymlNode::Array(todo!()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:174:44
[INFO] [stdout]     |
[INFO] [stdout] 174 |       BymlNodeDiscriminants::Dictionary => BymlNode::Dictionary(todo!()),
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:176:49
[INFO] [stdout]     |
[INFO] [stdout] 176 |       BymlNodeDiscriminants::BinaryDataTable => BymlNode::BinaryDataTable(todo!()),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |       BymlNodeDiscriminants::Integer64 => BymlNode::Integer64(todo!()),
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:178:51
[INFO] [stdout]     |
[INFO] [stdout] 178 |       BymlNodeDiscriminants::UnsignedInteger64 => BymlNode::UnsignedInteger64(todo!()),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> fileforge-nintendo/src/byml/node/mod.rs:179:41
[INFO] [stdout]     |
[INFO] [stdout] 179 |       BymlNodeDiscriminants::Float64 => BymlNode::Float64(todo!()),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice::SliceIndex`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/yaz0/state/compress.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{cmp::min, slice::SliceIndex};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let size: () = reader.get().await.map_err(|e| SarcHeaderReadError::Size(e))?;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let version = ((version >> 8) as u8, (version & 0xFF) as u8);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfat_table_size`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let Some(sfat_table_size) = data_section_offset.checked_sub(header_length as u32) else {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfat_table_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/header/readable.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/header/readable.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/overwrite.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/overwrite.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_node` is never used
[INFO] [stdout]   --> fileforge-nintendo/src/byml/mod.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl<'pool, S: ReadableStream<Type = u8>> Byml<'pool, S> {
[INFO] [stdout]    | -------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |   async fn into_node(self, discriminant: BymlNodeDiscriminants, value: u32) -> Result<BymlNode<'pool, S>, BymlConstructionError<'poo...
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endianness` is never read
[INFO] [stdout]   --> fileforge-nintendo/src/byml/header/mod.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct BymlHeader {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 11 |   config: BymlHeaderConfig,
[INFO] [stdout] 12 |   endianness: Endianness,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BymlHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/bool/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlBoolNode {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |   value: bool,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/float32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlFloat32Node {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 8 |   value: f32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/integer32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlInteger32Node {
[INFO] [stdout]   |            ----------------- field in this struct
[INFO] [stdout] 8 |   value: i32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `string_table_index` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/string/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlStringNode {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |   string_table_index: u32,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/unsigned_integer32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlUnsignedInteger32Node {
[INFO] [stdout]   |            ------------------------- field in this struct
[INFO] [stdout] 8 |   value: u32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hasher`, `header`, and `reader` are never read
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/mod.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SfatTable<'pool, UnderlyingStream: ReadableStream<Type = u8>> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 11 |   hasher: SfntHasher,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 12 |   header: SfatHeader,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 13 |   reader: BinaryReader<'pool, UnderlyingStream>,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/state/mod.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |   pub fn readback(&self) -> ReadbackReference<2> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |   pub fn readback(&self) -> ReadbackReference<'_, 2> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/store.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 |   fn snapshot(&self) -> Option<&BinaryReaderSnapshot<R>>;
[INFO] [stdout]    |               ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |                ||
[INFO] [stdout]    |               |                |the same lifetime is hidden here
[INFO] [stdout]    |               |                the same lifetime is elided here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |   fn snapshot(&self) -> Option<&BinaryReaderSnapshot<'_, R>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileforge-test v0.1.0 (/opt/rustwide/workdir/fileforge-test)
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> fileforge-test/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice::SliceIndex`
[INFO] [stdout]  --> fileforge-nintendo/src/sead/yaz0/state/compress.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::{cmp::min, slice::SliceIndex};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let size: () = reader.get().await.map_err(|e| SarcHeaderReadError::Size(e))?;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let version = ((version >> 8) as u8, (version & 0xFF) as u8);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sfat_table_size`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let Some(sfat_table_size) = data_section_offset.checked_sub(header_length as u32) else {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sfat_table_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/header/readable.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/header/readable.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/header/readable.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/overwrite.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/overwrite.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/error/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/parser/error.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> fileforge-test/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     provider: P,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `callback`
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/readable.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     callback: impl for<'tag, 'b> FnOnce(fileforge::error::report::Report<'tag, 'b, ITEM_NAME_SIZE, P>) -> (),
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/state/compress.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut data: &[u8] = &[];
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> fileforge-nintendo/src/sead/yaz0/state/compress.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut data_vec = vec![b'A'; 300];
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> fileforge-nintendo/src/sead/yaz0/state/mod.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 166 |       MalformedStream::SeekbackOutOfBounds { seekback_offset, seekback_size } => {
[INFO] [stdout]     |       ----------------------------------------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 170 |       other => panic!("unexpected error: {:?}", other),
[INFO] [stdout]     |       ^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> fileforge-nintendo/src/sead/yaz0/state/mod.rs:250:7
[INFO] [stdout]     |
[INFO] [stdout] 246 |       MalformedStream::SeekbackOutOfBounds { seekback_offset, seekback_size } => {
[INFO] [stdout]     |       ----------------------------------------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 250 |       other => panic!("unexpected error: {:?}", other),
[INFO] [stdout]     |       ^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_node` is never used
[INFO] [stdout]   --> fileforge-nintendo/src/byml/mod.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl<'pool, S: ReadableStream<Type = u8>> Byml<'pool, S> {
[INFO] [stdout]    | -------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |   async fn into_node(self, discriminant: BymlNodeDiscriminants, value: u32) -> Result<BymlNode<'pool, S>, BymlConstructionError<'poo...
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endianness` is never read
[INFO] [stdout]   --> fileforge-nintendo/src/byml/header/mod.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct BymlHeader {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 11 |   config: BymlHeaderConfig,
[INFO] [stdout] 12 |   endianness: Endianness,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BymlHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/bool/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlBoolNode {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |   value: bool,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/float32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlFloat32Node {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 8 |   value: f32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/integer32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlInteger32Node {
[INFO] [stdout]   |            ----------------- field in this struct
[INFO] [stdout] 8 |   value: i32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `string_table_index` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/string/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlStringNode {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |   string_table_index: u32,
[INFO] [stdout]   |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]  --> fileforge-nintendo/src/byml/node/unsigned_integer32/mod.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct BymlUnsignedInteger32Node {
[INFO] [stdout]   |            ------------------------- field in this struct
[INFO] [stdout] 8 |   value: u32,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hasher`, `header`, and `reader` are never read
[INFO] [stdout]   --> fileforge-nintendo/src/sead/sarc/sfat/mod.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SfatTable<'pool, UnderlyingStream: ReadableStream<Type = u8>> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 11 |   hasher: SfntHasher,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 12 |   header: SfatHeader,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 13 |   reader: BinaryReader<'pool, UnderlyingStream>,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/state/mod.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |   pub fn readback(&self) -> ReadbackReference<2> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |   pub fn readback(&self) -> ReadbackReference<'_, 2> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> fileforge-nintendo/src/sead/yaz0/store.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 |   fn snapshot(&self) -> Option<&BinaryReaderSnapshot<R>>;
[INFO] [stdout]    |               ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |                ||
[INFO] [stdout]    |               |                |the same lifetime is hidden here
[INFO] [stdout]    |               |                the same lifetime is elided here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |   fn snapshot(&self) -> Option<&BinaryReaderSnapshot<'_, R>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.42s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52", kill_on_drop: false }`
[INFO] [stdout] 5972d89e7d96172ca27ee09038b6577ea02e4ef62863448c0d4677d945fe6d52
